<!DOCTYPE html>
<html lang="zh-CN" dir="ltr">
  <head>
    <meta charset="utf-8">
    
    <title>更新日志 | PureChat</title>
    <meta name="description" content="PureChat文档">
    <meta name="generator" content="VitePress v1.5.0">
    <link rel="preload stylesheet" href="/pure-docs/assets/style.B-qJtPzW.css" as="style">
    <link rel="preload stylesheet" href="/pure-docs/vp-icons.css" as="style">
    
    <script type="module" src="/pure-docs/assets/app.DI8KjbBl.js"></script>
    <link rel="preload" href="/pure-docs/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
    <link rel="modulepreload" href="/pure-docs/assets/chunks/theme.B2vZXx0Q.js">
    <link rel="modulepreload" href="/pure-docs/assets/chunks/framework.4Ih4cC_B.js">
    <link rel="modulepreload" href="/pure-docs/assets/other_logs.md.CCKpqmUz.lean.js">
    <link rel="icon" href="./favicon.ico">
    <meta name="keywords" content="purechat, purechat docs">
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
    <meta name="author" content="yongkang">
    <script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
    <script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
  </head>
  <body>
    <div id="app"><div class="Layout" data-v-dddcdfd5><!--[--><!--]--><!--[--><span tabindex="-1" data-v-7ed8266c></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-7ed8266c> Skip to content </a><!--]--><!----><header class="VPNav" data-v-dddcdfd5 data-v-41b73987><div class="VPNavBar" data-v-41b73987 data-v-c8c0c014><div class="wrapper" data-v-c8c0c014><div class="container" data-v-c8c0c014><div class="title" data-v-c8c0c014><div class="VPNavBarTitle has-sidebar" data-v-c8c0c014 data-v-6a5bc875><a class="title" href="/pure-docs/" data-v-6a5bc875><!--[--><!--]--><!--[--><img class="VPImage logo" src="/pure-docs/favicon.png" alt data-v-51f69da2><!--]--><span data-v-6a5bc875>PureChat</span><!--[--><!--]--></a></div></div><div class="content" data-v-c8c0c014><div class="content-body" data-v-c8c0c014><!--[--><!--]--><div class="VPNavBarSearch search" data-v-c8c0c014><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-c8c0c014 data-v-f6a9d743><span id="main-nav-aria-label" class="visually-hidden" data-v-f6a9d743> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/pure-docs/preface/" tabindex="0" data-v-f6a9d743 data-v-315adae3><!--[--><span data-v-315adae3>介绍</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/pure-docs/other/FAQ.html" tabindex="0" data-v-f6a9d743 data-v-315adae3><!--[--><span data-v-315adae3>常见问题</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/pure-docs/other/logs.html" tabindex="0" data-v-f6a9d743 data-v-315adae3><!--[--><span data-v-315adae3>更新日志</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-f6a9d743 data-v-44066a7b><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-44066a7b><span class="text" data-v-44066a7b><!----><span data-v-44066a7b>链接</span><span class="vpi-chevron-down text-icon" data-v-44066a7b></span></span></button><div class="menu" data-v-44066a7b><div class="VPMenu" data-v-44066a7b data-v-66e5ec78><div class="items" data-v-66e5ec78><!--[--><!--[--><div class="VPMenuLink" data-v-66e5ec78 data-v-4780ef5b><a class="VPLink link vp-external-link-icon" href="https://purechat.cn" target="_blank" rel="noreferrer" data-v-4780ef5b><!--[--><span data-v-4780ef5b>在线预览</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-66e5ec78 data-v-4780ef5b><a class="VPLink link vp-external-link-icon" href="https://github.com/Hyk260/pure-backend" target="_blank" rel="noreferrer" data-v-4780ef5b><!--[--><span data-v-4780ef5b>后端地址</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-66e5ec78 data-v-4780ef5b><a class="VPLink link vp-external-link-icon" href="https://github.com/Hyk260/PureChat/releases" target="_blank" rel="noreferrer" data-v-4780ef5b><!--[--><span data-v-4780ef5b>Electron</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-66e5ec78 data-v-4780ef5b><a class="VPLink link vp-external-link-icon" href="https://gitee.com/H260788/PureChat" target="_blank" rel="noreferrer" data-v-4780ef5b><!--[--><span data-v-4780ef5b>gitee仓库</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-66e5ec78 data-v-4780ef5b><a class="VPLink link vp-external-link-icon" href="https://github.com/Hyk260/PureChat" target="_blank" rel="noreferrer" data-v-4780ef5b><!--[--><span data-v-4780ef5b>github仓库</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-c8c0c014 data-v-219b4e13><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-219b4e13 data-v-e6285956 data-v-2451b378><span class="check" data-v-2451b378><span class="icon" data-v-2451b378><!--[--><span class="vpi-sun sun" data-v-e6285956></span><span class="vpi-moon moon" data-v-e6285956></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-c8c0c014 data-v-a7b92d49 data-v-8bcc5e76><!--[--><a class="VPSocialLink no-icon" href="https://github.com/Hyk260/PureChat" aria-label="github" target="_blank" rel="noopener" data-v-8bcc5e76 data-v-fafda883><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://jq.qq.com/?_wv=1027&amp;k=Cd4Ihd2J" aria-label target="_blank" rel="noopener" data-v-8bcc5e76 data-v-fafda883>
<svg height="2500" viewBox="-1.94 0 124.879 145.085" width="2101" xmlns="http://www.w3.org/2000/svg">
	<path
		d="m60.503 142.237c-12.533 0-24.038-4.195-31.445-10.46-3.762 1.124-8.574 2.932-11.61 5.175-2.6 1.918-2.275 3.874-1.807 4.663 2.056 3.47 35.273 2.216 44.862 1.136zm0 0c12.535 0 24.039-4.195 31.447-10.46 3.76 1.124 8.573 2.932 11.61 5.175 2.598 1.918 2.274 3.874 1.805 4.663-2.056 3.47-35.272 2.216-44.862 1.136zm0 0"
		fill="#faab07"
	/>
	<path
		d="m60.576 67.119c20.698-.14 37.286-4.147 42.907-5.683 1.34-.367 2.056-1.024 2.056-1.024.005-.189.085-3.37.085-5.01 0-27.634-13.044-55.401-45.124-55.402-32.08.001-45.125 27.769-45.125 55.401 0 1.642.08 4.822.086 5.01 0 0 .583.615 1.65.913 5.19 1.444 22.09 5.65 43.312 5.795zm56.245 23.02c-1.283-4.129-3.034-8.944-4.808-13.568 0 0-1.02-.126-1.537.023-15.913 4.623-35.202 7.57-49.9 7.392h-.153c-14.616.175-33.774-2.737-49.634-7.315-.606-.175-1.802-.1-1.802-.1-1.774 4.624-3.525 9.44-4.808 13.568-6.119 19.69-4.136 27.838-2.627 28.02 3.239.392 12.606-14.821 12.606-14.821 0 15.459 13.957 39.195 45.918 39.413h.848c31.96-.218 45.917-23.954 45.917-39.413 0 0 9.368 15.213 12.607 14.822 1.508-.183 3.491-8.332-2.627-28.021"
	/>
	<path
		d="m49.085 40.824c-4.352.197-8.07-4.76-8.304-11.063-.236-6.305 3.098-11.576 7.45-11.773 4.347-.195 8.064 4.76 8.3 11.065.238 6.306-3.097 11.577-7.446 11.771m31.133-11.063c-.233 6.302-3.951 11.26-8.303 11.063-4.35-.195-7.684-5.465-7.446-11.77.236-6.305 3.952-11.26 8.3-11.066 4.352.197 7.686 5.468 7.449 11.773"
		fill="#fff"
	/>
	<path
		d="m87.952 49.725c-1.162-2.575-12.875-5.445-27.374-5.445h-.156c-14.5 0-26.212 2.87-27.375 5.446a.863.863 0 0 0 -.085.367c0 .186.063.352.16.496.98 1.427 13.985 8.487 27.3 8.487h.156c13.314 0 26.319-7.058 27.299-8.487a.873.873 0 0 0 .16-.498.856.856 0 0 0 -.085-.365"
		fill="#faab07"
	/>
	<path
		d="m54.434 29.854c.199 2.49-1.167 4.702-3.046 4.943-1.883.242-3.568-1.58-3.768-4.07-.197-2.492 1.167-4.704 3.043-4.944 1.886-.244 3.574 1.58 3.771 4.07m11.956.833c.385-.689 3.004-4.312 8.427-2.993 1.425.347 2.084.857 2.223 1.057.205.296.262.718.053 1.286-.412 1.126-1.263 1.095-1.734.875-.305-.142-4.082-2.66-7.562 1.097-.24.257-.668.346-1.073.04-.407-.308-.574-.93-.334-1.362"
	/>
	<path
		d="m60.576 83.08h-.153c-9.996.12-22.116-1.204-33.854-3.518-1.004 5.818-1.61 13.132-1.09 21.853 1.316 22.043 14.407 35.9 34.614 36.1h.82c20.208-.2 33.298-14.057 34.616-36.1.52-8.723-.087-16.035-1.092-21.854-11.739 2.315-23.862 3.64-33.86 3.518"
		fill="#fff"
	/>
	<g fill="#eb1923">
		<path d="m32.102 81.235v21.693s9.937 2.004 19.893.616v-20.009c-6.307-.357-13.109-1.152-19.893-2.3" />
		<path
			d="m105.539 60.412s-19.33 6.102-44.963 6.275h-.153c-25.591-.172-44.896-6.255-44.962-6.275l-6.474 16.158c16.193 4.882 36.261 8.028 51.436 7.845h.153c15.175.183 35.242-2.963 51.437-7.845zm0 0"
		/>
	</g>
</svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-c8c0c014 data-v-191085c3 data-v-44066a7b><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-44066a7b><span class="vpi-more-horizontal icon" data-v-44066a7b></span></button><div class="menu" data-v-44066a7b><div class="VPMenu" data-v-44066a7b data-v-66e5ec78><!----><!--[--><!--[--><!----><div class="group" data-v-191085c3><div class="item appearance" data-v-191085c3><p class="label" data-v-191085c3>Appearance</p><div class="appearance-action" data-v-191085c3><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-191085c3 data-v-e6285956 data-v-2451b378><span class="check" data-v-2451b378><span class="icon" data-v-2451b378><!--[--><span class="vpi-sun sun" data-v-e6285956></span><span class="vpi-moon moon" data-v-e6285956></span><!--]--></span></span></button></div></div></div><div class="group" data-v-191085c3><div class="item social-links" data-v-191085c3><div class="VPSocialLinks social-links-list" data-v-191085c3 data-v-8bcc5e76><!--[--><a class="VPSocialLink no-icon" href="https://github.com/Hyk260/PureChat" aria-label="github" target="_blank" rel="noopener" data-v-8bcc5e76 data-v-fafda883><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://jq.qq.com/?_wv=1027&amp;k=Cd4Ihd2J" aria-label target="_blank" rel="noopener" data-v-8bcc5e76 data-v-fafda883>
<svg height="2500" viewBox="-1.94 0 124.879 145.085" width="2101" xmlns="http://www.w3.org/2000/svg">
	<path
		d="m60.503 142.237c-12.533 0-24.038-4.195-31.445-10.46-3.762 1.124-8.574 2.932-11.61 5.175-2.6 1.918-2.275 3.874-1.807 4.663 2.056 3.47 35.273 2.216 44.862 1.136zm0 0c12.535 0 24.039-4.195 31.447-10.46 3.76 1.124 8.573 2.932 11.61 5.175 2.598 1.918 2.274 3.874 1.805 4.663-2.056 3.47-35.272 2.216-44.862 1.136zm0 0"
		fill="#faab07"
	/>
	<path
		d="m60.576 67.119c20.698-.14 37.286-4.147 42.907-5.683 1.34-.367 2.056-1.024 2.056-1.024.005-.189.085-3.37.085-5.01 0-27.634-13.044-55.401-45.124-55.402-32.08.001-45.125 27.769-45.125 55.401 0 1.642.08 4.822.086 5.01 0 0 .583.615 1.65.913 5.19 1.444 22.09 5.65 43.312 5.795zm56.245 23.02c-1.283-4.129-3.034-8.944-4.808-13.568 0 0-1.02-.126-1.537.023-15.913 4.623-35.202 7.57-49.9 7.392h-.153c-14.616.175-33.774-2.737-49.634-7.315-.606-.175-1.802-.1-1.802-.1-1.774 4.624-3.525 9.44-4.808 13.568-6.119 19.69-4.136 27.838-2.627 28.02 3.239.392 12.606-14.821 12.606-14.821 0 15.459 13.957 39.195 45.918 39.413h.848c31.96-.218 45.917-23.954 45.917-39.413 0 0 9.368 15.213 12.607 14.822 1.508-.183 3.491-8.332-2.627-28.021"
	/>
	<path
		d="m49.085 40.824c-4.352.197-8.07-4.76-8.304-11.063-.236-6.305 3.098-11.576 7.45-11.773 4.347-.195 8.064 4.76 8.3 11.065.238 6.306-3.097 11.577-7.446 11.771m31.133-11.063c-.233 6.302-3.951 11.26-8.303 11.063-4.35-.195-7.684-5.465-7.446-11.77.236-6.305 3.952-11.26 8.3-11.066 4.352.197 7.686 5.468 7.449 11.773"
		fill="#fff"
	/>
	<path
		d="m87.952 49.725c-1.162-2.575-12.875-5.445-27.374-5.445h-.156c-14.5 0-26.212 2.87-27.375 5.446a.863.863 0 0 0 -.085.367c0 .186.063.352.16.496.98 1.427 13.985 8.487 27.3 8.487h.156c13.314 0 26.319-7.058 27.299-8.487a.873.873 0 0 0 .16-.498.856.856 0 0 0 -.085-.365"
		fill="#faab07"
	/>
	<path
		d="m54.434 29.854c.199 2.49-1.167 4.702-3.046 4.943-1.883.242-3.568-1.58-3.768-4.07-.197-2.492 1.167-4.704 3.043-4.944 1.886-.244 3.574 1.58 3.771 4.07m11.956.833c.385-.689 3.004-4.312 8.427-2.993 1.425.347 2.084.857 2.223 1.057.205.296.262.718.053 1.286-.412 1.126-1.263 1.095-1.734.875-.305-.142-4.082-2.66-7.562 1.097-.24.257-.668.346-1.073.04-.407-.308-.574-.93-.334-1.362"
	/>
	<path
		d="m60.576 83.08h-.153c-9.996.12-22.116-1.204-33.854-3.518-1.004 5.818-1.61 13.132-1.09 21.853 1.316 22.043 14.407 35.9 34.614 36.1h.82c20.208-.2 33.298-14.057 34.616-36.1.52-8.723-.087-16.035-1.092-21.854-11.739 2.315-23.862 3.64-33.86 3.518"
		fill="#fff"
	/>
	<g fill="#eb1923">
		<path d="m32.102 81.235v21.693s9.937 2.004 19.893.616v-20.009c-6.307-.357-13.109-1.152-19.893-2.3" />
		<path
			d="m105.539 60.412s-19.33 6.102-44.963 6.275h-.153c-25.591-.172-44.896-6.255-44.962-6.275l-6.474 16.158c16.193 4.882 36.261 8.028 51.436 7.845h.153c15.175.183 35.242-2.963 51.437-7.845zm0 0"
		/>
	</g>
</svg></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-c8c0c014 data-v-ef0e2ebd><span class="container" data-v-ef0e2ebd><span class="top" data-v-ef0e2ebd></span><span class="middle" data-v-ef0e2ebd></span><span class="bottom" data-v-ef0e2ebd></span></span></button></div></div></div></div><div class="divider" data-v-c8c0c014><div class="divider-line" data-v-c8c0c014></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-dddcdfd5 data-v-2f9201a6><div class="container" data-v-2f9201a6><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-2f9201a6><span class="vpi-align-left menu-icon" data-v-2f9201a6></span><span class="menu-text" data-v-2f9201a6>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-2f9201a6 data-v-d9458a3a><button data-v-d9458a3a>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-dddcdfd5 data-v-fc5081f3><div class="curtain" data-v-fc5081f3></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-fc5081f3><span class="visually-hidden" id="sidebar-aria-label" data-v-fc5081f3> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-91ec7ff8><section class="VPSidebarItem level-0" data-v-91ec7ff8 data-v-6e7c1f4a><div class="item" role="button" tabindex="0" data-v-6e7c1f4a><div class="indicator" data-v-6e7c1f4a></div><h2 class="text" data-v-6e7c1f4a>前言</h2><!----></div><div class="items" data-v-6e7c1f4a><!--[--><div class="VPSidebarItem level-1 is-link" data-v-6e7c1f4a data-v-6e7c1f4a><div class="item" data-v-6e7c1f4a><div class="indicator" data-v-6e7c1f4a></div><a class="VPLink link link" href="/pure-docs/preface/" data-v-6e7c1f4a><!--[--><p class="text" data-v-6e7c1f4a>介绍</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6e7c1f4a data-v-6e7c1f4a><div class="item" data-v-6e7c1f4a><div class="indicator" data-v-6e7c1f4a></div><a class="VPLink link link" href="/pure-docs/preface/start.html" data-v-6e7c1f4a><!--[--><p class="text" data-v-6e7c1f4a>快速上手</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6e7c1f4a data-v-6e7c1f4a><div class="item" data-v-6e7c1f4a><div class="indicator" data-v-6e7c1f4a></div><a class="VPLink link link" href="/pure-docs/preface/config.html" data-v-6e7c1f4a><!--[--><p class="text" data-v-6e7c1f4a>项目配置</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6e7c1f4a data-v-6e7c1f4a><div class="item" data-v-6e7c1f4a><div class="indicator" data-v-6e7c1f4a></div><a class="VPLink link link" href="/pure-docs/preface/directory.html" data-v-6e7c1f4a><!--[--><p class="text" data-v-6e7c1f4a>目录结构</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6e7c1f4a data-v-6e7c1f4a><div class="item" data-v-6e7c1f4a><div class="indicator" data-v-6e7c1f4a></div><a class="VPLink link link" href="/pure-docs/preface/commitlint.html" data-v-6e7c1f4a><!--[--><p class="text" data-v-6e7c1f4a>提交规范</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-91ec7ff8><section class="VPSidebarItem level-0 has-active" data-v-91ec7ff8 data-v-6e7c1f4a><div class="item" role="button" tabindex="0" data-v-6e7c1f4a><div class="indicator" data-v-6e7c1f4a></div><h2 class="text" data-v-6e7c1f4a>其他</h2><!----></div><div class="items" data-v-6e7c1f4a><!--[--><div class="VPSidebarItem level-1 is-link" data-v-6e7c1f4a data-v-6e7c1f4a><div class="item" data-v-6e7c1f4a><div class="indicator" data-v-6e7c1f4a></div><a class="VPLink link link" href="/pure-docs/other/recommendation.html" data-v-6e7c1f4a><!--[--><p class="text" data-v-6e7c1f4a>技术网站</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6e7c1f4a data-v-6e7c1f4a><div class="item" data-v-6e7c1f4a><div class="indicator" data-v-6e7c1f4a></div><a class="VPLink link link" href="/pure-docs/other/FAQ.html" data-v-6e7c1f4a><!--[--><p class="text" data-v-6e7c1f4a>常见问题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6e7c1f4a data-v-6e7c1f4a><div class="item" data-v-6e7c1f4a><div class="indicator" data-v-6e7c1f4a></div><a class="VPLink link link" href="/pure-docs/other/logs.html" data-v-6e7c1f4a><!--[--><p class="text" data-v-6e7c1f4a>更新日志</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6e7c1f4a data-v-6e7c1f4a><div class="item" data-v-6e7c1f4a><div class="indicator" data-v-6e7c1f4a></div><a class="VPLink link link" href="/pure-docs/other/deploy.html" data-v-6e7c1f4a><!--[--><p class="text" data-v-6e7c1f4a>私有化部署</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-91ec7ff8><section class="VPSidebarItem level-0" data-v-91ec7ff8 data-v-6e7c1f4a><div class="item" role="button" tabindex="0" data-v-6e7c1f4a><div class="indicator" data-v-6e7c1f4a></div><h2 class="text" data-v-6e7c1f4a>AI指南</h2><!----></div><div class="items" data-v-6e7c1f4a><!--[--><div class="VPSidebarItem level-1 is-link" data-v-6e7c1f4a data-v-6e7c1f4a><div class="item" data-v-6e7c1f4a><div class="indicator" data-v-6e7c1f4a></div><a class="VPLink link link" href="/pure-docs/guides/model.html" data-v-6e7c1f4a><!--[--><p class="text" data-v-6e7c1f4a>大语言模型指南</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6e7c1f4a data-v-6e7c1f4a><div class="item" data-v-6e7c1f4a><div class="indicator" data-v-6e7c1f4a></div><a class="VPLink link link" href="/pure-docs/guides/prompts.html" data-v-6e7c1f4a><!--[--><p class="text" data-v-6e7c1f4a>提示词指南</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6e7c1f4a data-v-6e7c1f4a><div class="item" data-v-6e7c1f4a><div class="indicator" data-v-6e7c1f4a></div><a class="VPLink link link" href="/pure-docs/guides/model-provider.html" data-v-6e7c1f4a><!--[--><p class="text" data-v-6e7c1f4a>模型服务商</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6e7c1f4a data-v-6e7c1f4a><div class="item" data-v-6e7c1f4a><div class="indicator" data-v-6e7c1f4a></div><a class="VPLink link link" href="/pure-docs/guides/ollama.html" data-v-6e7c1f4a><!--[--><p class="text" data-v-6e7c1f4a>Ollama集成</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6e7c1f4a data-v-6e7c1f4a><div class="item" data-v-6e7c1f4a><div class="indicator" data-v-6e7c1f4a></div><a class="VPLink link link" href="/pure-docs/guides/olama-usage.html" data-v-6e7c1f4a><!--[--><p class="text" data-v-6e7c1f4a>Ollama使用</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-dddcdfd5 data-v-f18bb95d><div class="VPDoc has-sidebar has-aside" data-v-f18bb95d data-v-eb1d4883><!--[--><!--]--><div class="container" data-v-eb1d4883><div class="aside" data-v-eb1d4883><div class="aside-curtain" data-v-eb1d4883></div><div class="aside-container" data-v-eb1d4883><div class="aside-content" data-v-eb1d4883><div class="VPDocAside" data-v-eb1d4883 data-v-04339706><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-04339706 data-v-df680d3c><div class="content" data-v-df680d3c><div class="outline-marker" data-v-df680d3c></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-df680d3c>本页目录</div><ul class="VPDocOutlineItem root" data-v-df680d3c data-v-d1d32a3b><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-04339706></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-eb1d4883><div class="content-container" data-v-eb1d4883><!--[--><!--]--><main class="main" data-v-eb1d4883><div style="position:relative;" class="vp-doc _pure-docs_other_logs" data-v-eb1d4883><div><h1 id="更新日志" tabindex="-1">更新日志 <a class="header-anchor" href="#更新日志" aria-label="Permalink to &quot;更新日志&quot;">​</a></h1><h2 id="_0-6-0-2024-11-28" tabindex="-1">0.6.0 @2024.11.28 <a class="header-anchor" href="#_0-6-0-2024-11-28" aria-label="Permalink to &quot;0.6.0 @2024.11.28&quot;">​</a></h2><ul><li>个人卡片添加动画效果及优化样式细节</li><li>升级vue-draggable-next至2.2.1并优化拖拽样式与逻辑</li><li>优化拖拽区域样式及逻辑</li><li>修复markdown高亮代码转义问题</li><li>优化初始化加载动画样式及结构</li></ul><h2 id="_0-5-9-2024-11-21" tabindex="-1">0.5.9 @2024.11.21 <a class="header-anchor" href="#_0-5-9-2024-11-21" aria-label="Permalink to &quot;0.5.9 @2024.11.21&quot;">​</a></h2><ul><li>增加ai推荐问题展示及优化消息处理逻辑</li><li>增加预设提示词及优化消息自定义数据处理</li><li>优化消息状态显示及分享功能</li></ul><h2 id="_0-5-8-2024-11-11" tabindex="-1">0.5.8 @2024.11.11 <a class="header-anchor" href="#_0-5-8-2024-11-11" aria-label="Permalink to &quot;0.5.8 @2024.11.11&quot;">​</a></h2><ul><li>添加Star History图表</li><li>优化消息处理和动态内容展示</li><li>优化头像获取逻辑和消息处理</li><li>增加群组修改限制和异常处理</li><li>升级Tencent Cloud Chat SDK至3.4.6</li><li>调整AI配置及优化用户头像组件</li><li>优化viewport设置，升级vue-devtools，调整elementPlus组件</li><li>优化消息处理逻辑及时间分割功能</li><li>优化消息加载与合并转发逻辑，防止重复加载</li><li>优化布局组件结构及元数据配置</li><li>增加菜单组件及优化图标样式</li><li>添加置顶/取消置顶图标及优化右键菜单逻辑</li></ul><h2 id="_0-5-7-2024-10-30" tabindex="-1">0.5.7 @2024.10.30 <a class="header-anchor" href="#_0-5-7-2024-10-30" aria-label="Permalink to &quot;0.5.7 @2024.10.30&quot;">​</a></h2><ul><li>优化开发环境配置，vue-devtools &quot;Y&quot; &quot;N&quot;</li><li>重构代码，移除无用类和方法，优化性能和可读性</li><li>优化消息处理和动态内容展示</li></ul><h2 id="_0-5-6-2024-10-23" tabindex="-1">0.5.6 @2024.10.23 <a class="header-anchor" href="#_0-5-6-2024-10-23" aria-label="Permalink to &quot;0.5.6 @2024.10.23&quot;">​</a></h2><h3 id="变更" tabindex="-1">变更 <a class="header-anchor" href="#变更" aria-label="Permalink to &quot;变更&quot;">​</a></h3><ul><li>优化图片展示逻辑，增加高度限制</li><li>@全体成员通知不受消息免打扰影响</li><li>重构消息删除逻辑，优化代码可读性</li><li>重构消息更新逻辑，简化代码结构</li><li>重构聊天室骨架屏，优化用户体验</li></ul><h3 id="修复" tabindex="-1">修复 <a class="header-anchor" href="#修复" aria-label="Permalink to &quot;修复&quot;">​</a></h3><ul><li>修复默认头像展示问题</li><li>修复群接口报错</li><li>修改会话接口参数名称，优化消息加载逻辑</li></ul><h2 id="_0-5-5-2024-10-10" tabindex="-1">0.5.5 @2024.10.10 <a class="header-anchor" href="#_0-5-5-2024-10-10" aria-label="Permalink to &quot;0.5.5 @2024.10.10&quot;">​</a></h2><h3 id="新增" tabindex="-1">新增 <a class="header-anchor" href="#新增" aria-label="Permalink to &quot;新增&quot;">​</a></h3><ul><li>新增部分头像大图预览</li><li>支持会话处理及搜索功能</li></ul><h3 id="修复-1" tabindex="-1">修复 <a class="header-anchor" href="#修复-1" aria-label="Permalink to &quot;修复&quot;">​</a></h3><ul><li>修复时间线错乱问题</li><li>修复ai回复消息时滚动条到底部时机</li></ul><h2 id="_0-5-4-2024-9-30" tabindex="-1">0.5.4 @2024.9.30 <a class="header-anchor" href="#_0-5-4-2024-9-30" aria-label="Permalink to &quot;0.5.4 @2024.9.30&quot;">​</a></h2><h3 id="变更-1" tabindex="-1">变更 <a class="header-anchor" href="#变更-1" aria-label="Permalink to &quot;变更&quot;">​</a></h3><ul><li>更新AI工具函数，优化模型选择及时间格式化</li></ul><h3 id="新增-1" tabindex="-1">新增 <a class="header-anchor" href="#新增-1" aria-label="Permalink to &quot;新增&quot;">​</a></h3><ul><li>chatgpt支持图片识别</li><li>添加LLaVA模型支持，优化AI平台兼容性</li></ul><h3 id="修复-2" tabindex="-1">修复 <a class="header-anchor" href="#修复-2" aria-label="Permalink to &quot;修复&quot;">​</a></h3><ul><li>修复切换账号后apikey缓存问题</li></ul><h2 id="_0-5-3-2024-9-24" tabindex="-1">0.5.3 @2024.9.24 <a class="header-anchor" href="#_0-5-3-2024-9-24" aria-label="Permalink to &quot;0.5.3 @2024.9.24&quot;">​</a></h2><h3 id="变更-2" tabindex="-1">变更 <a class="header-anchor" href="#变更-2" aria-label="Permalink to &quot;变更&quot;">​</a></h3><ul><li>timeFormat函数优化</li><li>配置自定义云端openai api key 与 porxy</li></ul><h2 id="_0-5-2-2024-9-18" tabindex="-1">0.5.2 @2024.9.18 <a class="header-anchor" href="#_0-5-2-2024-9-18" aria-label="Permalink to &quot;0.5.2 @2024.9.18&quot;">​</a></h2><h3 id="electron" tabindex="-1">electron <a class="header-anchor" href="#electron" aria-label="Permalink to &quot;electron&quot;">​</a></h3><ul><li>Update config across app, fix minor UI inconsistencies</li><li>更新标题栏配置和优化代码，修复错误</li></ul><h2 id="_0-5-1-2024-9-11" tabindex="-1">0.5.1 @2024.9.11 <a class="header-anchor" href="#_0-5-1-2024-9-11" aria-label="Permalink to &quot;0.5.1 @2024.9.11&quot;">​</a></h2><h3 id="变更-3" tabindex="-1">变更 <a class="header-anchor" href="#变更-3" aria-label="Permalink to &quot;变更&quot;">​</a></h3><ul><li>增加文件类型图标支持exe json js svg log</li><li>会话草稿优化 支持图片 表情包 文件 文字 并列展示</li><li>修改Ollama默认模型 qwen2:7b -&gt; llama3.1:8b</li></ul><h3 id="electron-1" tabindex="-1">electron <a class="header-anchor" href="#electron-1" aria-label="Permalink to &quot;electron&quot;">​</a></h3><ul><li>修复pnpm安装依赖时出现的错误</li></ul><h2 id="_0-5-0-2024-8-30" tabindex="-1">0.5.0 @2024.8.30 <a class="header-anchor" href="#_0-5-0-2024-8-30" aria-label="Permalink to &quot;0.5.0 @2024.8.30&quot;">​</a></h2><h3 id="变更-4" tabindex="-1">变更 <a class="header-anchor" href="#变更-4" aria-label="Permalink to &quot;变更&quot;">​</a></h3><ul><li>ElImageViewer</li><li>打包视图分享插件 rollup-plugin-visualizer</li><li>移除无服务器模式相关配置和逻辑</li><li>个人详情卡片</li><li>更新AI平台服务配置，优化错误处理和日志记录，更新视图和代码优化交互</li><li>增加文件类型支持</li><li>截图分享自定义渐变背景色</li></ul><h2 id="_0-4-9-2024-8-20" tabindex="-1">0.4.9 @2024.8.20 <a class="header-anchor" href="#_0-4-9-2024-8-20" aria-label="Permalink to &quot;0.4.9 @2024.8.20&quot;">​</a></h2><h3 id="新增-2" tabindex="-1">新增 <a class="header-anchor" href="#新增-2" aria-label="Permalink to &quot;新增&quot;">​</a></h3><ul><li>聊天截图包含助手提示词选项</li></ul><h3 id="优化" tabindex="-1">优化 <a class="header-anchor" href="#优化" aria-label="Permalink to &quot;优化&quot;">​</a></h3><ul><li>优化mention弹框自适应高度</li><li>会话列表缓存</li><li>优化部分样式</li><li>优化长图消息发送时出现的抖动问题</li></ul><h3 id="修复-3" tabindex="-1">修复 <a class="header-anchor" href="#修复-3" aria-label="Permalink to &quot;修复&quot;">​</a></h3><ul><li>修复mention弹框键盘上下键切失效问题</li></ul><h2 id="_0-4-8-2024-8-12" tabindex="-1">0.4.8 @2024.8.12 <a class="header-anchor" href="#_0-4-8-2024-8-12" aria-label="Permalink to &quot;0.4.8 @2024.8.12&quot;">​</a></h2><h3 id="变更-5" tabindex="-1">变更 <a class="header-anchor" href="#变更-5" aria-label="Permalink to &quot;变更&quot;">​</a></h3><ul><li>修改chatgpt默认模型为 &quot;gpt-4o-mini&quot;</li></ul><h3 id="优化-1" tabindex="-1">优化 <a class="header-anchor" href="#优化-1" aria-label="Permalink to &quot;优化&quot;">​</a></h3><ul><li>流式消息到底部更新时机</li><li>ai助手骨架屏</li><li>updata element-plus ^2.8.0</li></ul><h3 id="修复-4" tabindex="-1">修复 <a class="header-anchor" href="#修复-4" aria-label="Permalink to &quot;修复&quot;">​</a></h3><ul><li>修复video消息被遮挡问题</li></ul><h3 id="新增-3" tabindex="-1">新增 <a class="header-anchor" href="#新增-3" aria-label="Permalink to &quot;新增&quot;">​</a></h3><ul><li>分享聊天截图支持一键复制</li></ul><h3 id="electron-2" tabindex="-1">electron <a class="header-anchor" href="#electron-2" aria-label="Permalink to &quot;electron&quot;">​</a></h3><ul><li>支持托盘</li></ul><h2 id="_0-4-7-2024-8-7" tabindex="-1">0.4.7 @2024.8.7 <a class="header-anchor" href="#_0-4-7-2024-8-7" aria-label="Permalink to &quot;0.4.7 @2024.8.7&quot;">​</a></h2><h3 id="新增-4" tabindex="-1">新增 <a class="header-anchor" href="#新增-4" aria-label="Permalink to &quot;新增&quot;">​</a></h3><ul><li>ollama本地大模型适配流式输出</li><li>支持ollama本地大模型 <a href="https://ollama.com/" target="_blank" rel="noreferrer">ollama</a></li><li>聊天记录截图分享保存新增JPG SVG WEBP类型</li></ul><h3 id="修复-5" tabindex="-1">修复 <a class="header-anchor" href="#修复-5" aria-label="Permalink to &quot;修复&quot;">​</a></h3><ul><li>prompt bug</li><li>修复图片消息发送中状态时被消息框遮挡问题</li><li>修复图片消息预览大图关闭右键菜单</li><li>修复右键菜单复制的图片模糊问题</li></ul><h3 id="优化-2" tabindex="-1">优化 <a class="header-anchor" href="#优化-2" aria-label="Permalink to &quot;优化&quot;">​</a></h3><ul><li>优化图片消息宽高比</li></ul><h3 id="electron-3" tabindex="-1">electron <a class="header-anchor" href="#electron-3" aria-label="Permalink to &quot;electron&quot;">​</a></h3><ul><li>控制台中文乱码</li><li>自定义titlebar标题栏</li><li>Notification for Electron app</li><li>支持win32位</li></ul><h2 id="_0-4-6-2024-7-29" tabindex="-1">0.4.6 @2024.7.29 <a class="header-anchor" href="#_0-4-6-2024-7-29" aria-label="Permalink to &quot;0.4.6 @2024.7.29&quot;">​</a></h2><h3 id="修复-6" tabindex="-1">修复 <a class="header-anchor" href="#修复-6" aria-label="Permalink to &quot;修复&quot;">​</a></h3><ul><li>修复部分样式问题</li><li>修复web端与桌面端第三方github登录时出现的部分问题</li><li>修复草稿信息HTML转义错误</li><li>修复markdown代码一键复制在部分场景下报错</li></ul><h3 id="优化-3" tabindex="-1">优化 <a class="header-anchor" href="#优化-3" aria-label="Permalink to &quot;优化&quot;">​</a></h3><ul><li>发送按钮样式优化</li></ul><h3 id="electron-4" tabindex="-1">electron <a class="header-anchor" href="#electron-4" aria-label="Permalink to &quot;electron&quot;">​</a></h3><ul><li>支持文件下载进度，打开文件夹，打开文件</li><li>主进程源代码加密</li><li>修复截图程序路径问题</li></ul><h2 id="_0-4-5-2024-7-23" tabindex="-1">0.4.5 @2024.7.23 <a class="header-anchor" href="#_0-4-5-2024-7-23" aria-label="Permalink to &quot;0.4.5 @2024.7.23&quot;">​</a></h2><h3 id="优化-4" tabindex="-1">优化 <a class="header-anchor" href="#优化-4" aria-label="Permalink to &quot;优化&quot;">​</a></h3><ul><li>自定义 highlight 代码语法样式</li><li>自定义 markdown 语法样式</li><li>黑暗主题样式色值与精细度优化</li></ul><h3 id="新增-5" tabindex="-1">新增 <a class="header-anchor" href="#新增-5" aria-label="Permalink to &quot;新增&quot;">​</a></h3><ul><li>ai模型列表改造 支持更多模型选项</li><li>聊天记录截屏分享功能 <a href="https://github.com/qq15725/modern-screenshot" target="_blank" rel="noreferrer">modern-screenshot</a></li></ul><h2 id="_0-4-4-2024-7-19" tabindex="-1">0.4.4 @2024.7.19 <a class="header-anchor" href="#_0-4-4-2024-7-19" aria-label="Permalink to &quot;0.4.4 @2024.7.19&quot;">​</a></h2><h3 id="修复-7" tabindex="-1">修复 <a class="header-anchor" href="#修复-7" aria-label="Permalink to &quot;修复&quot;">​</a></h3><ul><li>修复Markdown部分样式问题</li></ul><h3 id="新增-6" tabindex="-1">新增 <a class="header-anchor" href="#新增-6" aria-label="Permalink to &quot;新增&quot;">​</a></h3><ul><li>支持完整的Markdown渲染</li><li>动态导入全局组件</li></ul><h3 id="优化-5" tabindex="-1">优化 <a class="header-anchor" href="#优化-5" aria-label="Permalink to &quot;优化&quot;">​</a></h3><ul><li>优化tailwind配置项</li><li>ai助理页面宽度自适应</li></ul><h3 id="变更-6" tabindex="-1">变更 <a class="header-anchor" href="#变更-6" aria-label="Permalink to &quot;变更&quot;">​</a></h3><ul><li>关闭web端截屏入口（体验不友好）</li><li>替换Markdown插件 <code>marked</code> → <code>markdown-it</code> <a href="https://github.com/markdown-it/markdown-it" target="_blank" rel="noreferrer">markdown-it</a></li></ul><h2 id="_0-4-3-2024-7-4" tabindex="-1">0.4.3 @2024.7.4 <a class="header-anchor" href="#_0-4-3-2024-7-4" aria-label="Permalink to &quot;0.4.3 @2024.7.4&quot;">​</a></h2><h3 id="修复-8" tabindex="-1">修复 <a class="header-anchor" href="#修复-8" aria-label="Permalink to &quot;修复&quot;">​</a></h3><ul><li>修复会话草稿</li><li>修复ai助理切换页面Markdown格式代码高亮重复渲染bug</li></ul><h3 id="新增-7" tabindex="-1">新增 <a class="header-anchor" href="#新增-7" aria-label="Permalink to &quot;新增&quot;">​</a></h3><ul><li>角色助手提示词信息支持markdown语法</li><li>添加选模型弹框窗口</li><li>添加tailwind css</li><li><code>noService</code>模式</li></ul><h2 id="_0-4-2-2024-6-12" tabindex="-1">0.4.2 @2024.6.12 <a class="header-anchor" href="#_0-4-2-2024-6-12" aria-label="Permalink to &quot;0.4.2 @2024.6.12&quot;">​</a></h2><h3 id="修复-9" tabindex="-1">修复 <a class="header-anchor" href="#修复-9" aria-label="Permalink to &quot;修复&quot;">​</a></h3><ul><li>修复svg图标色差</li><li>修复相关依赖报错</li></ul><h2 id="_0-4-1-2024-6-12" tabindex="-1">0.4.1 @2024.6.12 <a class="header-anchor" href="#_0-4-1-2024-6-12" aria-label="Permalink to &quot;0.4.1 @2024.6.12&quot;">​</a></h2><h3 id="新增-8" tabindex="-1">新增 <a class="header-anchor" href="#新增-8" aria-label="Permalink to &quot;新增&quot;">​</a></h3><ul><li>添加 buildTime</li></ul><h3 id="修复-10" tabindex="-1">修复 <a class="header-anchor" href="#修复-10" aria-label="Permalink to &quot;修复&quot;">​</a></h3><ul><li>修复个别情况下无法加载消息问题</li></ul><h2 id="_0-4-0-2024-6-11" tabindex="-1">0.4.0 @2024.6.11 <a class="header-anchor" href="#_0-4-0-2024-6-11" aria-label="Permalink to &quot;0.4.0 @2024.6.11&quot;">​</a></h2><h3 id="新增-9" tabindex="-1">新增 <a class="header-anchor" href="#新增-9" aria-label="Permalink to &quot;新增&quot;">​</a></h3><ul><li>新增ai助理页面 并支持自定义预设提示词</li></ul><h3 id="变更-7" tabindex="-1">变更 <a class="header-anchor" href="#变更-7" aria-label="Permalink to &quot;变更&quot;">​</a></h3><ul><li>使用Vite5重构</li><li>修改chatgpt默认模型为 &quot;gpt-3.5-turbo-16k&quot;</li></ul><h2 id="_0-3-6-2024-5-27" tabindex="-1">0.3.6 @2024.5.27 <a class="header-anchor" href="#_0-3-6-2024-5-27" aria-label="Permalink to &quot;0.3.6 @2024.5.27&quot;">​</a></h2><h3 id="变更-8" tabindex="-1">变更 <a class="header-anchor" href="#变更-8" aria-label="Permalink to &quot;变更&quot;">​</a></h3><ul><li>ui页面重构</li></ul><h3 id="新增-10" tabindex="-1">新增 <a class="header-anchor" href="#新增-10" aria-label="Permalink to &quot;新增&quot;">​</a></h3><ul><li>新增ChatGpt提示词(prompt)</li></ul><h3 id="修复-11" tabindex="-1">修复 <a class="header-anchor" href="#修复-11" aria-label="Permalink to &quot;修复&quot;">​</a></h3><ul><li>修复与机器人对话一定概率时间戳重复bug</li></ul><h2 id="_0-3-5-2024-5-20" tabindex="-1">0.3.5 @2024.5.20 <a class="header-anchor" href="#_0-3-5-2024-5-20" aria-label="Permalink to &quot;0.3.5 @2024.5.20&quot;">​</a></h2><h3 id="新增-11" tabindex="-1">新增 <a class="header-anchor" href="#新增-11" aria-label="Permalink to &quot;新增&quot;">​</a></h3><ul><li>集成智谱<code>ChatGLM</code>系列模型（GLM-4/GLM-4-vision/GLM-3-turbo），为用户提供了另一种高效的会话模型选择。<a href="https://www.zhipuai.cn/" target="_blank" rel="noreferrer">了解更多</a></li><li>集成了<code>零一万物</code>模型，系列 API 具备较快的推理速度，这不仅缩短了处理时间，同时也保持了出色的模型效果。<a href="https://www.lingyiwanwu.com/" target="_blank" rel="noreferrer">了解更多</a></li></ul><h2 id="_0-3-4-2024-5-14" tabindex="-1">0.3.4 @2024.5.14 <a class="header-anchor" href="#_0-3-4-2024-5-14" aria-label="Permalink to &quot;0.3.4 @2024.5.14&quot;">​</a></h2><h3 id="新增-12" tabindex="-1">新增 <a class="header-anchor" href="#新增-12" aria-label="Permalink to &quot;新增&quot;">​</a></h3><ul><li>侧边栏应用配置url新窗口打开</li></ul><h3 id="优化-6" tabindex="-1">优化 <a class="header-anchor" href="#优化-6" aria-label="Permalink to &quot;优化&quot;">​</a></h3><ul><li>导航栏拖拽逻辑优化</li></ul><h3 id="修复-12" tabindex="-1">修复 <a class="header-anchor" href="#修复-12" aria-label="Permalink to &quot;修复&quot;">​</a></h3><ul><li>修复调整输入框高度后使用回复消息窗口抖动问题</li></ul><h2 id="_0-3-3-2024-5-8" tabindex="-1">0.3.3 @2024.5.8 <a class="header-anchor" href="#_0-3-3-2024-5-8" aria-label="Permalink to &quot;0.3.3 @2024.5.8&quot;">​</a></h2><h3 id="新增-13" tabindex="-1">新增 <a class="header-anchor" href="#新增-13" aria-label="Permalink to &quot;新增&quot;">​</a></h3><ul><li>群聊支持点击昵称@成员 添加群主标识</li></ul><h3 id="优化-7" tabindex="-1">优化 <a class="header-anchor" href="#优化-7" aria-label="Permalink to &quot;优化&quot;">​</a></h3><ul><li>优化会话置顶样式，调整群成员昵称显示</li><li>element-plus按需引入组件调整</li></ul><h2 id="_0-3-2-2024-4-30" tabindex="-1">0.3.2 @2024.4.30 <a class="header-anchor" href="#_0-3-2-2024-4-30" aria-label="Permalink to &quot;0.3.2 @2024.4.30&quot;">​</a></h2><h3 id="新增-14" tabindex="-1">新增 <a class="header-anchor" href="#新增-14" aria-label="Permalink to &quot;新增&quot;">​</a></h3><ul><li>支持github授权登录</li><li>通讯录我的好友模块</li></ul><h3 id="优化-8" tabindex="-1">优化 <a class="header-anchor" href="#优化-8" aria-label="Permalink to &quot;优化&quot;">​</a></h3><ul><li>项目底层依赖升级</li></ul><h3 id="变更-9" tabindex="-1">变更 <a class="header-anchor" href="#变更-9" aria-label="Permalink to &quot;变更&quot;">​</a></h3><ul><li>后端接口地址替换</li></ul><h2 id="_0-3-1-2024-4-24" tabindex="-1">0.3.1 @2024.4.24 <a class="header-anchor" href="#_0-3-1-2024-4-24" aria-label="Permalink to &quot;0.3.1 @2024.4.24&quot;">​</a></h2><h3 id="新增-15" tabindex="-1">新增 <a class="header-anchor" href="#新增-15" aria-label="Permalink to &quot;新增&quot;">​</a></h3><ul><li>chatgpt模型标识</li></ul><h3 id="修复-13" tabindex="-1">修复 <a class="header-anchor" href="#修复-13" aria-label="Permalink to &quot;修复&quot;">​</a></h3><ul><li>修复聊天工作室切换路由页面白屏</li></ul><h3 id="变更-10" tabindex="-1">变更 <a class="header-anchor" href="#变更-10" aria-label="Permalink to &quot;变更&quot;">​</a></h3><ul><li>调整[窗口抖动]自定义消息格式</li></ul><h2 id="_0-3-0-2024-4-11" tabindex="-1">0.3.0 @2024.4.11 <a class="header-anchor" href="#_0-3-0-2024-4-11" aria-label="Permalink to &quot;0.3.0 @2024.4.11&quot;">​</a></h2><h3 id="新增-16" tabindex="-1">新增 <a class="header-anchor" href="#新增-16" aria-label="Permalink to &quot;新增&quot;">​</a></h3><ul><li>web端支持截屏</li><li>支持发送视频消息展示与预览 artplayer</li></ul><h3 id="优化-9" tabindex="-1">优化 <a class="header-anchor" href="#优化-9" aria-label="Permalink to &quot;优化&quot;">​</a></h3><ul><li>消息框复制粘贴逻辑优化</li></ul><h3 id="修复-14" tabindex="-1">修复 <a class="header-anchor" href="#修复-14" aria-label="Permalink to &quot;修复&quot;">​</a></h3><ul><li>修复消息混发相关问题</li></ul><h2 id="_0-2-9-2024-4-9" tabindex="-1">0.2.9 @2024.4.9 <a class="header-anchor" href="#_0-2-9-2024-4-9" aria-label="Permalink to &quot;0.2.9 @2024.4.9&quot;">​</a></h2><h3 id="变更-11" tabindex="-1">变更 <a class="header-anchor" href="#变更-11" aria-label="Permalink to &quot;变更&quot;">​</a></h3><ul><li>消息发送结构体重构</li></ul><h3 id="新增-17" tabindex="-1">新增 <a class="header-anchor" href="#新增-17" aria-label="Permalink to &quot;新增&quot;">​</a></h3><ul><li>支持多类型消息混合发送</li><li>消息列表折叠与消息框展开输入</li></ul><h3 id="修复-15" tabindex="-1">修复 <a class="header-anchor" href="#修复-15" aria-label="Permalink to &quot;修复&quot;">​</a></h3><ul><li>修复部分样式问题</li></ul></div></div></main><footer class="VPDocFooter" data-v-eb1d4883 data-v-c9c3eb72><!--[--><!--]--><div class="edit-info" data-v-c9c3eb72><div class="edit-link" data-v-c9c3eb72><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/Hyk260/pure-docs/edit/main/src/other/logs.md" target="_blank" rel="noreferrer" data-v-c9c3eb72><!--[--><span class="vpi-square-pen edit-link-icon" data-v-c9c3eb72></span> 为此页提供修改建议<!--]--></a></div><div class="last-updated" data-v-c9c3eb72><p class="VPLastUpdated" data-v-c9c3eb72 data-v-0ecd90dd>上次更新: <time datetime="2024-12-16T01:06:02.000Z" data-v-0ecd90dd></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-c9c3eb72><span class="visually-hidden" id="doc-footer-aria-label" data-v-c9c3eb72>Pager</span><div class="pager" data-v-c9c3eb72><a class="VPLink link pager-link prev" href="/pure-docs/other/FAQ.html" data-v-c9c3eb72><!--[--><span class="desc" data-v-c9c3eb72>Previous page</span><span class="title" data-v-c9c3eb72>常见问题</span><!--]--></a></div><div class="pager" data-v-c9c3eb72><a class="VPLink link pager-link next" href="/pure-docs/other/deploy.html" data-v-c9c3eb72><!--[--><span class="desc" data-v-c9c3eb72>Next page</span><span class="title" data-v-c9c3eb72>私有化部署</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-dddcdfd5 data-v-f923477b><div class="container" data-v-f923477b><p class="message" data-v-f923477b>Released under the MIT License.</p><p class="copyright" data-v-f923477b>Copyright (c) 2023 yongkang</p></div></footer><!--[--><!--]--></div></div>
    <script>window.__VP_HASH_MAP__=JSON.parse("{\"guides_model-provider.md\":\"4ffzDjc9\",\"guides_model.md\":\"DQ2sj402\",\"guides_olama-usage.md\":\"DDohLdvc\",\"guides_ollama.md\":\"Bsqr0ClO\",\"guides_prompts.md\":\"hnXtj2Et\",\"index.md\":\"BBU3yXVP\",\"other_deploy.md\":\"DmWNz-Or\",\"other_faq.md\":\"Ywgj2uM8\",\"other_logs.md\":\"CCKpqmUz\",\"other_recommendation.md\":\"Cln7myX3\",\"preface_commitlint.md\":\"WcuBSsQq\",\"preface_config.md\":\"CppkE-QF\",\"preface_directory.md\":\"CkrlRqr3\",\"preface_index.md\":\"Dg9pqRBm\",\"preface_start.md\":\"5ElgGXQN\"}");function deserializeFunctions(r){return Array.isArray(r)?r.map(deserializeFunctions):typeof r=="object"&&r!==null?Object.keys(r).reduce((t,n)=>(t[n]=deserializeFunctions(r[n]),t),{}):typeof r=="string"&&r.startsWith("_vp-fn_")?new Function(`return ${r.slice(7)}`)():r};window.__VP_SITE_DATA__=deserializeFunctions(JSON.parse("{\"lang\":\"zh-CN\",\"dir\":\"ltr\",\"title\":\"PureChat\",\"description\":\"PureChat文档\",\"base\":\"/pure-docs/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"editLink\":{\"pattern\":\"https://github.com/Hyk260/pure-docs/edit/main/src/:path\",\"text\":\"为此页提供修改建议\"},\"outline\":{\"label\":\"本页目录\",\"level\":[2,3]},\"lastUpdated\":{\"text\":\"上次更新\",\"formatOptions\":{\"dateStyle\":\"full\",\"timeStyle\":\"medium\"}},\"cleanUrls\":true,\"ignoreDeadLinks\":[{},{},{}],\"markdown\":{\"config\":\"_vp-fn_function(md) {\\n        md.use(groupIconMdPlugin);\\n      }\",\"codeTransformers\":[{\"preprocess\":\"_vp-fn_function(code, options2) {\\n      const cleanup = options2.transformers?.find((i) => i.name === \\\"vitepress:clean-up\\\");\\n      if (cleanup)\\n        options2.transformers?.splice(options2.transformers.indexOf(cleanup), 1);\\n      if (!explicitTrigger || options2.meta?.__raw?.match(trigger)) {\\n        const vPre = options2.transformers?.find((i) => i.name === \\\"vitepress:v-pre\\\");\\n        if (vPre)\\n          options2.transformers?.splice(options2.transformers.indexOf(vPre), 1);\\n      }\\n      return twoslash.preprocess.call(this, code, options2);\\n    }\",\"tokens\":\"_vp-fn_function(tokens) {\\n        const twoslash = map.get(this.meta);\\n        if (!twoslash)\\n          return;\\n        return splitTokens(\\n          tokens,\\n          twoslash.nodes.flatMap(\\n            (i) => [\\\"hover\\\", \\\"error\\\", \\\"query\\\", \\\"highlight\\\", \\\"completion\\\"].includes(i.type) ? [i.start, i.start + i.length] : []\\n          )\\n        );\\n      }\",\"pre\":\"_vp-fn_function(pre) {\\n        const twoslash = map.get(this.meta);\\n        if (!twoslash)\\n          return;\\n        this.addClassToHast(pre, \\\"twoslash lsp\\\");\\n      }\",\"code\":\"_vp-fn_function(codeEl) {\\n        const twoslash = map.get(this.meta);\\n        if (!twoslash)\\n          return;\\n        const insertAfterLine = (line, nodes) => {\\n          if (!nodes.length)\\n            return;\\n          let index;\\n          if (line >= this.lines.length) {\\n            index = codeEl.children.length;\\n          } else {\\n            const lineEl = this.lines[line];\\n            index = codeEl.children.indexOf(lineEl);\\n            if (index === -1) {\\n              onShikiError(new ShikiTwoslashError(`Cannot find line ${line} in code element`), this.source, this.options.lang);\\n              return;\\n            }\\n          }\\n          const nodeAfter = codeEl.children[index + 1];\\n          if (nodeAfter && nodeAfter.type === \\\"text\\\" && nodeAfter.value === \\\"\\\\n\\\")\\n            codeEl.children.splice(index + 1, 1);\\n          codeEl.children.splice(index + 1, 0, ...nodes);\\n        };\\n        const tokensMap = [];\\n        this.lines.forEach((lineEl, line) => {\\n          let index = 0;\\n          for (const token of lineEl.children.flatMap((i) => i.type === \\\"element\\\" ? i.children || [] : [])) {\\n            if (\\\"value\\\" in token && typeof token.value === \\\"string\\\") {\\n              tokensMap.push([line, index, index + token.value.length, token]);\\n              index += token.value.length;\\n            }\\n          }\\n        });\\n        const locateTextTokens = (line, character, length) => {\\n          const start = character;\\n          const end = character + length;\\n          if (length === 0) {\\n            return tokensMap.filter(([l, s, e]) => l === line && s < start && start <= e).map((i) => i[3]);\\n          }\\n          return tokensMap.filter(([l, s, e]) => l === line && (start <= s && s < end) && (start < e && e <= end)).map((i) => i[3]);\\n        };\\n        const tokensSkipHover = /* @__PURE__ */ new Set();\\n        const actionsHovers = [];\\n        const actionsHighlights = [];\\n        for (const node of twoslash.nodes) {\\n          if (node.type === \\\"tag\\\") {\\n            if (renderer.lineCustomTag)\\n              insertAfterLine(node.line, renderer.lineCustomTag.call(this, node));\\n            continue;\\n          }\\n          const tokens = locateTextTokens(node.line, node.character, node.length);\\n          if (!tokens.length && !(node.type === \\\"error\\\" && renderer.nodesError)) {\\n            onShikiError(new ShikiTwoslashError(`Cannot find tokens for node: ${JSON.stringify(node)}`), this.source, this.options.lang);\\n            continue;\\n          }\\n          const wrapTokens = (fn) => {\\n            const line = this.lines[node.line];\\n            let charIndex = 0;\\n            let itemStart = line.children.length;\\n            let itemEnd = 0;\\n            line.children.forEach((token, index) => {\\n              if (charIndex >= node.character && index < itemStart)\\n                itemStart = index;\\n              if (charIndex <= node.character + node.length && index > itemEnd)\\n                itemEnd = index;\\n              charIndex += getTokenString(token).length;\\n            });\\n            if (charIndex <= node.character + node.length)\\n              itemEnd = line.children.length;\\n            const targets = line.children.slice(itemStart, itemEnd);\\n            const length = targets.length;\\n            line.children.splice(itemStart, length, ...fn(targets));\\n          };\\n          switch (node.type) {\\n            case \\\"error\\\": {\\n              if (renderer.nodeError) {\\n                tokens.forEach((token) => {\\n                  tokensSkipHover.add(token);\\n                  const clone = { ...token };\\n                  Object.assign(token, renderer.nodeError.call(this, node, clone));\\n                });\\n              }\\n              if (renderer.nodesError) {\\n                tokens.forEach((token) => {\\n                  tokensSkipHover.add(token);\\n                });\\n                actionsHighlights.push(() => {\\n                  wrapTokens((targets) => renderer.nodesError?.call(this, node, targets) || targets);\\n                });\\n              }\\n              if (renderer.lineError)\\n                insertAfterLine(node.line, renderer.lineError.call(this, node));\\n              break;\\n            }\\n            case \\\"query\\\": {\\n              const token = tokens[0];\\n              if (token && renderer.nodeQuery) {\\n                tokensSkipHover.add(token);\\n                const clone = { ...token };\\n                Object.assign(token, renderer.nodeQuery.call(this, node, clone));\\n              }\\n              if (renderer.lineQuery)\\n                insertAfterLine(node.line, renderer.lineQuery.call(this, node, token));\\n              break;\\n            }\\n            case \\\"completion\\\": {\\n              if (renderer.nodeCompletion) {\\n                tokens.forEach((token) => {\\n                  tokensSkipHover.add(token);\\n                  const clone = { ...token };\\n                  Object.assign(token, renderer.nodeCompletion.call(this, node, clone));\\n                });\\n              }\\n              if (renderer.lineCompletion)\\n                insertAfterLine(node.line, renderer.lineCompletion.call(this, node));\\n              break;\\n            }\\n            case \\\"highlight\\\": {\\n              if (renderer.nodesHighlight) {\\n                actionsHighlights.push(() => {\\n                  wrapTokens((targets) => renderer.nodesHighlight?.call(this, node, targets) || targets);\\n                });\\n              }\\n              break;\\n            }\\n            case \\\"hover\\\": {\\n              if (renderer.nodeStaticInfo) {\\n                actionsHovers.push(() => {\\n                  tokens.forEach((token) => {\\n                    if (tokensSkipHover.has(token))\\n                      return;\\n                    tokensSkipHover.add(token);\\n                    const clone = { ...token };\\n                    Object.assign(token, renderer.nodeStaticInfo.call(this, node, clone));\\n                  });\\n                });\\n              }\\n              break;\\n            }\\n            default: {\\n              onShikiError(new ShikiTwoslashError(`Unknown node type: ${node?.type}`), this.source, this.options.lang);\\n            }\\n          }\\n        }\\n        actionsHovers.forEach((i) => i());\\n        actionsHighlights.forEach((i) => i());\\n      }\",\"name\":\"@shikijs/vitepress-twoslash\",\"postprocess\":\"_vp-fn_function(html) {\\n      if (this.meta.twoslash)\\n        return html.replace(/\\\\{/g, \\\"&#123;\\\");\\n    }\"}],\"theme\":{\"light\":\"vitesse-light\",\"dark\":\"vitesse-dark\"}},\"transformPageData\":\"_vp-fn_function(pageData) {\\n      const canonicalUrl = `${ogUrl}/${pageData.relativePath}`.replace(/\\\\/index\\\\.md$/, \\\"/\\\").replace(/\\\\.md$/, \\\"/\\\");\\n      pageData.frontmatter.head ??= [];\\n      pageData.frontmatter.head.unshift(\\n        [\\\"link\\\", { rel: \\\"canonical\\\", href: canonicalUrl }],\\n        [\\\"meta\\\", { property: \\\"og:title\\\", content: pageData.title }]\\n      );\\n      return pageData;\\n    }\",\"logo\":\"/favicon.png\",\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/Hyk260/PureChat\"},{\"icon\":{\"svg\":\"\\n<svg height=\\\"2500\\\" viewBox=\\\"-1.94 0 124.879 145.085\\\" width=\\\"2101\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n\\t<path\\n\\t\\td=\\\"m60.503 142.237c-12.533 0-24.038-4.195-31.445-10.46-3.762 1.124-8.574 2.932-11.61 5.175-2.6 1.918-2.275 3.874-1.807 4.663 2.056 3.47 35.273 2.216 44.862 1.136zm0 0c12.535 0 24.039-4.195 31.447-10.46 3.76 1.124 8.573 2.932 11.61 5.175 2.598 1.918 2.274 3.874 1.805 4.663-2.056 3.47-35.272 2.216-44.862 1.136zm0 0\\\"\\n\\t\\tfill=\\\"#faab07\\\"\\n\\t/>\\n\\t<path\\n\\t\\td=\\\"m60.576 67.119c20.698-.14 37.286-4.147 42.907-5.683 1.34-.367 2.056-1.024 2.056-1.024.005-.189.085-3.37.085-5.01 0-27.634-13.044-55.401-45.124-55.402-32.08.001-45.125 27.769-45.125 55.401 0 1.642.08 4.822.086 5.01 0 0 .583.615 1.65.913 5.19 1.444 22.09 5.65 43.312 5.795zm56.245 23.02c-1.283-4.129-3.034-8.944-4.808-13.568 0 0-1.02-.126-1.537.023-15.913 4.623-35.202 7.57-49.9 7.392h-.153c-14.616.175-33.774-2.737-49.634-7.315-.606-.175-1.802-.1-1.802-.1-1.774 4.624-3.525 9.44-4.808 13.568-6.119 19.69-4.136 27.838-2.627 28.02 3.239.392 12.606-14.821 12.606-14.821 0 15.459 13.957 39.195 45.918 39.413h.848c31.96-.218 45.917-23.954 45.917-39.413 0 0 9.368 15.213 12.607 14.822 1.508-.183 3.491-8.332-2.627-28.021\\\"\\n\\t/>\\n\\t<path\\n\\t\\td=\\\"m49.085 40.824c-4.352.197-8.07-4.76-8.304-11.063-.236-6.305 3.098-11.576 7.45-11.773 4.347-.195 8.064 4.76 8.3 11.065.238 6.306-3.097 11.577-7.446 11.771m31.133-11.063c-.233 6.302-3.951 11.26-8.303 11.063-4.35-.195-7.684-5.465-7.446-11.77.236-6.305 3.952-11.26 8.3-11.066 4.352.197 7.686 5.468 7.449 11.773\\\"\\n\\t\\tfill=\\\"#fff\\\"\\n\\t/>\\n\\t<path\\n\\t\\td=\\\"m87.952 49.725c-1.162-2.575-12.875-5.445-27.374-5.445h-.156c-14.5 0-26.212 2.87-27.375 5.446a.863.863 0 0 0 -.085.367c0 .186.063.352.16.496.98 1.427 13.985 8.487 27.3 8.487h.156c13.314 0 26.319-7.058 27.299-8.487a.873.873 0 0 0 .16-.498.856.856 0 0 0 -.085-.365\\\"\\n\\t\\tfill=\\\"#faab07\\\"\\n\\t/>\\n\\t<path\\n\\t\\td=\\\"m54.434 29.854c.199 2.49-1.167 4.702-3.046 4.943-1.883.242-3.568-1.58-3.768-4.07-.197-2.492 1.167-4.704 3.043-4.944 1.886-.244 3.574 1.58 3.771 4.07m11.956.833c.385-.689 3.004-4.312 8.427-2.993 1.425.347 2.084.857 2.223 1.057.205.296.262.718.053 1.286-.412 1.126-1.263 1.095-1.734.875-.305-.142-4.082-2.66-7.562 1.097-.24.257-.668.346-1.073.04-.407-.308-.574-.93-.334-1.362\\\"\\n\\t/>\\n\\t<path\\n\\t\\td=\\\"m60.576 83.08h-.153c-9.996.12-22.116-1.204-33.854-3.518-1.004 5.818-1.61 13.132-1.09 21.853 1.316 22.043 14.407 35.9 34.614 36.1h.82c20.208-.2 33.298-14.057 34.616-36.1.52-8.723-.087-16.035-1.092-21.854-11.739 2.315-23.862 3.64-33.86 3.518\\\"\\n\\t\\tfill=\\\"#fff\\\"\\n\\t/>\\n\\t<g fill=\\\"#eb1923\\\">\\n\\t\\t<path d=\\\"m32.102 81.235v21.693s9.937 2.004 19.893.616v-20.009c-6.307-.357-13.109-1.152-19.893-2.3\\\" />\\n\\t\\t<path\\n\\t\\t\\td=\\\"m105.539 60.412s-19.33 6.102-44.963 6.275h-.153c-25.591-.172-44.896-6.255-44.962-6.275l-6.474 16.158c16.193 4.882 36.261 8.028 51.436 7.845h.153c15.175.183 35.242-2.963 51.437-7.845zm0 0\\\"\\n\\t\\t/>\\n\\t</g>\\n</svg>\"},\"link\":\"https://jq.qq.com/?_wv=1027&k=Cd4Ihd2J\"}],\"nav\":[{\"text\":\"介绍\",\"link\":\"/preface/\"},{\"text\":\"常见问题\",\"link\":\"/other/FAQ\"},{\"text\":\"更新日志\",\"link\":\"/other/logs\"},{\"text\":\"链接\",\"items\":[{\"text\":\"在线预览\",\"link\":\"https://purechat.cn\"},{\"text\":\"后端地址\",\"link\":\"https://github.com/Hyk260/pure-backend\"},{\"text\":\"Electron\",\"link\":\"https://github.com/Hyk260/PureChat/releases\"},{\"text\":\"gitee仓库\",\"link\":\"https://gitee.com/H260788/PureChat\"},{\"text\":\"github仓库\",\"link\":\"https://github.com/Hyk260/PureChat\"}]}],\"sidebar\":[{\"text\":\"前言\",\"items\":[{\"text\":\"介绍\",\"link\":\"/preface/\"},{\"text\":\"快速上手\",\"link\":\"/preface/start\"},{\"text\":\"项目配置\",\"link\":\"/preface/config\"},{\"text\":\"目录结构\",\"link\":\"/preface/directory\"},{\"text\":\"提交规范\",\"link\":\"/preface/commitlint\"}]},{\"text\":\"其他\",\"items\":[{\"text\":\"技术网站\",\"link\":\"/other/recommendation\"},{\"text\":\"常见问题\",\"link\":\"/other/FAQ\"},{\"text\":\"更新日志\",\"link\":\"/other/logs\"},{\"text\":\"私有化部署\",\"link\":\"/other/deploy\"}]},{\"text\":\"AI指南\",\"items\":[{\"text\":\"大语言模型指南\",\"link\":\"/guides/model\"},{\"text\":\"提示词指南\",\"link\":\"/guides/prompts\"},{\"text\":\"模型服务商\",\"link\":\"/guides/model-provider\"},{\"text\":\"Ollama集成\",\"link\":\"/guides/ollama\"},{\"text\":\"Ollama使用\",\"link\":\"/guides/olama-usage\"}]}],\"footer\":{\"message\":\"Released under the MIT License.\",\"copyright\":\"Copyright (c) 2023 yongkang\"},\"search\":{\"provider\":\"local\"}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}"));</script>
    
  </body>
</html>